home *** CD-ROM | disk | FTP | other *** search
- <?php
- //
- // +----------------------------------------------------------------------+
- // | PHP version 4.0 |
- // +----------------------------------------------------------------------+
- // | Copyright (c) 1997-2001 The PHP Group |
- // +----------------------------------------------------------------------+
- // | This source file is subject to version 2.02 of the PHP license, |
- // | that is bundled with this package in the file LICENSE, and is |
- // | available at through the world-wide-web at |
- // | http://www.php.net/license/2_02.txt. |
- // | If you did not receive a copy of the PHP license and are unable to |
- // | obtain it through the world-wide-web, please send a note to |
- // | license@php.net so we can mail you a copy immediately. |
- // +----------------------------------------------------------------------+
- // | Authors: Sebastian Bergmann <sb@sebastian-bergmann.de> |
- // +----------------------------------------------------------------------+
- //
- // $Id: Util.php,v 1.2 2001/01/10 01:01:56 ssb Exp $
- //
-
- // {{{ gcd( $a, $b )
-
- /**
- * Calculates the Greatest Common Divisor (gcd) of two numbers.
- *
- * @param int a first number
- * @param int b second number
- * @return int result gcd(a,b)
- * @access public
- */
-
- function gcd( $a, $b )
- {
- // make sure that $a > $b holds true
- if( $b > $a )
- {
- // swap $a and $b
- list( $a, $b ) = array( $b, $a );
- }
-
- // init $c to 1
- $c = 1;
-
- // the magic loop (thanks, Euclid :-)
- while( $c > 0 )
- {
- $c = $a % $b;
- $a = $b;
- $b = $c;
- }
-
- // return result
- return $a;
- }
-
- // }}}
- ?>
-